Mail creation and finishing equipment to generate and process mail pieces are well known and have enjoyed considerable commercial success. Such generating and processing can include, for example, accumulating documents with other materials such as preprinted inserts, folding and inserting the resulting accumulations into envelopes, printing addresses and other information on the outside of the envelopes, and franking the envelopes with an appropriate postage amount.
One metric used by customers for determining satisfaction with mailing equipment is the throughput, i.e., the number of mail pieces that can be processed per hour or minute. Generally, customers desire to have as high a throughput as possible. It is therefore desirable to have the equipment operate at the highest rate of speed possible to maximize the throughput. Address printers are capable of printing addresses on mail pieces at a rate of six envelopes per second (21,600 envelopes per hour) and eight postcards per second (28,800 postcards per hour). The addresses are received from an address list, such as, for example, from a personal computer coupled to the address printer, temporarily stored in a print buffer and then provided to a print head in succession for printing on the mail piece, e.g., envelope, postcard, or the like, by the print head. Another metric used by customers in determining satisfaction with mailing equipment is productivity, i.e., the amount of time the equipment is operational. Customers require high productivity, i.e., the mailing equipment must be operating with little down time due to any type of malfunction, and recovery must be quick. Although address printers are designed for such high speed operation and generally operate well at those speeds with high productivity, malfunctions can still occur, such as, for example, a malfunction of the print head, e.g., clogged ink nozzles, low ink, out of ink, etc., or a mail piece becoming jammed in the address printer, a feeding module prior to the address printer, or a module downstream of the address printer that receives the mail pieces from the address printer. When any type of malfunction occurs, there is a delay associated with correcting the malfunction, thereby reducing productivity, and also a risk of mail pieces not being properly printed with an address and addresses from the address list being “lost,” i.e., not being printed on a mail piece. For example, when a malfunction occurs, addresses from the print buffer will still be provided to the print head and, even though not properly printed on a mail piece, assumed to have been printed by the address printer, before the processing can be halted.
To prevent the loss of any addresses from the address list, it is necessary to reprint those mail pieces that the address printer attempted to print but were not properly printed. For address printers that utilize 16-bit operating systems, in which the print data is ASCII character mapped, the manner in which font downloads are handled enables the user to scroll back through the print buffer using a display of the address printer. Because of the character mapping utilized, the print data appears on the display in human readable form, and the user can therefore browse back through the address buffer until the last successfully printed address on a mail piece is found, and then restart the print job from that location. There are problems, however, when the address printer utilizes a 32-bit operating system, where the font downloads are handled quite differently. In 32-bit operating systems, an ID is assigned to each character the first time that character is downloaded. The ID assigned may be in hexadecimal format, or some other type of non-displayable character. The result is that the print data displayed on the address printer display will not be human readable, and therefore the user is unable to identify the last successfully printed address in the print buffer using the display of the address printer.
One way to overcome this problem is to cancel the entire print job and clear the print buffer of any stored addresses. The user must then review the address list, using the personal computer that generated the address list, to determine the last address in the address list that was properly printed before the malfunction occurred, and start a new print job from the next address. This process of canceling the current print job, reviewing the address list and starting a new print job is time consuming and labor intensive, thereby significantly decreasing the productivity of the equipment. Another way to overcome this problem is to hardcode a recovery capability in which a predetermined number of addresses from the print buffer will be reprinted. For example, when an address recovery function is entered, the buffer can back-up the predetermined number of locations, e.g., ten locations, and restart the print job from that location, such that the last ten entries in the buffer will be reprinted when the print job is restarted. While this may work in some cases, there are still problems with this solution. For example, if the number of reprints necessary is less than the predetermined number, there will be some mail pieces that were reprinted that did not need to be reprinted, resulting in duplicate mail pieces and a waste of resources. If the number of addresses lost is greater than the predetermined number, those addresses not within the predetermined number will remain lost and never be printed. In either situation, the result is unacceptable and can lead to customer dissatisfaction with the address printer.
Thus, there exists a need for a method and system for recovering addresses in an address printing system that minimizes the amount of duplicates printed while ensuring that all addresses from the address list are successfully printed on a mail piece.